/**
 * Copyright (c) 2011 Tomi Paananen.
 *
 * Part of Quick Gestures engine library.
 */

#ifndef PROCESSINGSTORAGEMGR_H
#define PROCESSINGSTORAGEMGR_H

// qgengine includes
#include "qgenginepriv.h"
#include "storagemanager.h"

// Forward declarations
class FeatureExtractor;


class QGLIB_EXPORT ProcessingStorageMgr : public StorageManager
{
    Q_OBJECT

public:
    explicit ProcessingStorageMgr(QObject *parent = 0);
    ~ProcessingStorageMgr();

public:
    FeatureExtractor *featureExtractor() const;

private slots:
    int processGesture(Gesture *gesture);

signals:
    void gestureProcessed(Gesture *gesture);

private: // Data
    FeatureExtractor *m_featureExtractor; // Owned
    QList<Gesture*> m_gestureSet; // Owned until ownership transferred
};


#endif // PROCESSINGSTORAGEMGR_H
